home *** CD-ROM | disk | FTP | other *** search
Wrap
/***** $VER: RecentScript Starter 1.0 (9.2.97) ©Arndt van der Molen RecentScript Starter is a MUIRexx application and must be started under MUIRexx 1> MUIRexx "RecentScript.rexx [<arg>]" PORT RECENTSCRIPT This application reads AmiNet index files or recent mails as distributed from a mailserver or recent news published in the newsgroup '*.comp.sys.amiga.archive'. It opens a MUI graphical user interface to select files for downloading, copying or remembering. Files can be selected from several input sources into one final list at one or more sessions. Finally you can generate a final user defined output from the selected files. This can be an ARexx/DOS script or simply a text file. New output configurations can easily be edited, added and may contain user defined variables which can be altered within the program. *****/ /* Change to path with trailing ':' or '/' where this script resides */ srcdir = 'MUIREXX:RecentScript/' /* !!! NOTHING TO CHANGE BELOW THIS LINE !!! */ OPTIONS RESULTS PARSE ARG recentfile /* Startup code before opening window */ portname = 'RECENTSCRIPT' closecom = '"quit"' PRAGMA('Directory',srcdir) /* Set current directory */ ADDRESS VALUE portname IF ~SHOW('l', "rexxsupport.library") then do CALL addlib('rexxsupport.library',0,-30,0) END /* Get all Config files '*.cfg' to build up menu */ configs.0 = 0 i = 0 allfiles = showdir(srcdir || 'Configs', 'f', ';') DO WHILE allfiles ~= '' PARSE VAR allfiles entry';'allfiles IF RIGHT(entry,4) = ".cfg" & LENGTH(entry) > 4 THEN DO configs.0 = configs.0 + 1 i = configs.0 configs.i = LEFT(entry, LENGTH(entry)-4) END END /* Build up cycle button string with all configs */ cycletext = 'AmiNet Index' DO i=1 TO configs.0 cycletext = cycletext || ',' || configs.i END /* TAG Attributes Definitions */ MUIA_List_Format = '0x80423c0a' MUIA_Listview_MultiSelect = '0x80427e08' MUIA_VertWeight = '0x804298d0' MUIA_Busy_Speed = '0x80020049' MUIA_Weight = '0x80421d1f' MUIA_Menuitem_Shortcut = '0x80422030' MUIA_Menuitem_Title = '0x804218be' /* TAG Methods Definitions */ MUIM_Application_OpenConfigWindow = '0x804299ba' /* TAG Variable definitions */ MUIV_List_Insert_Bottom = -3 MUIV_Listview_MultiSelect_Default = 1 MUIV_Busy_Speed_Off = 0 /* GUI Help Bubbles */ HLP_BUT_ADD = '"Adds selected entries to '"'Selected Files'"'"' HLP_LST_ALL = '"Multiselect entries and click Select or\nDoubleclick entry"' HLP_BUT_CLR = '"Clears the file list"' HLP_BUT_LOD = '"Loads an index file"' HLP_BUT_MINUS = '"Deselects entries with search string"' HLP_BUT_PLUS = '"Selects entries with search string"' HLP_BUT_SAV = '"Saves the selected files"' HLP_BUT_TEST = '"Only for internal use"' HLP_LST_SEL = '"Doubleclick to remove entry"' HLP_STR_PATT = '"Defines search string (without wildcards!)"' HLP_CYC_BAT = '"Defines Batch Mode to use"' /* GUI Commands */ CMD_BUT_ADD = '"'srcdir'RecentScriptCmd 'portname' ADD"' CMD_LST_ALL = '"'srcdir'RecentScriptCmd 'portname' ADD"' CMD_BUT_CLR1 = '"'srcdir'RecentScriptCmd 'portname' CLR LST_ALL"' CMD_BUT_CLR2 = '"'srcdir'RecentScriptCmd 'portname' CLR LST_SEL"' CMD_BUT_DEL = '"'srcdir'RecentScriptCmd 'portname' DEL"' CMD_BUT_LOD1 = '"'srcdir'RecentScriptCmd 'portname' LOAD LST_ALL"' CMD_BUT_LOD2 = '"'srcdir'RecentScriptCmd 'portname' LOAD LST_SEL"' CMD_BUT_MINUS = '"'srcdir'RecentScriptCmd 'portname' MINUS"' CMD_BUT_PLUS = '"'srcdir'RecentScriptCmd 'portname' PLUS"' CMD_BUT_SAV = '"'srcdir'RecentScriptCmd 'portname' SAVE"' CMD_BUT_TEST = '"'srcdir'RecentScriptCmd 'portname' TEST"' CMD_MEN_SETB = '"'srcdir'RecentScriptCmd 'portname' SETBAT dummy [%s]"' /* GUI Titles */ TLE_LST_ALL = ''"\033bFile,\033bDir,\033bSize,\033bDescription"'' TLE_LST_SEL = ''"\033bFile,\033bDir,\033bSize,\033bDescription"'' /* GUI Definitions */ window ID RECSCRWIN TITLE '"RecentScript"' COMMAND closecom PORT portname menu LABEL '"Project"' item COMMAND '"request TITLE About GADGETS '"_OK"' FILE 'srcdir'Internals/about.txt"' PORT portname LABEL '"About..."' item ATTRS MUIA_Menuitem_Title '-1' item COMMAND closecom PORT portname ATTRS MUIA_Menuitem_Shortcut 'Q' LABEL '"Quit"' endmenu menu LABEL '"Settings"' menu LABEL '"Batch Mode"' /* For each found config add one menuitem */ DO i=1 TO configs.0 item COMMAND CMD_MEN_SETB LABEL '"'configs.i'"' END endmenu item ATTRS MUIA_Menuitem_Title '-1' item COMMAND '"method 'MUIM_Application_OpenConfigWindow'"' PORT portname LABEL '"MUI..."' endmenu group ATTRS MUIA_VertWeight 70 FRAME LABEL '"AmiNet Index"' list ID LST_ALL COMMAND CMD_LST_ALL HELP HLP_LST_ALL TITLE TLE_LST_ALL ATTRS MUIA_Listview_MultiSelect MUIV_Listview_MultiSelect_Default MUIA_List_Format '"MIW=24 BAR, MIW=5 BAR, MIW=1 P=\033r BAR, MIW=70"' group HORIZ button ATTRS MUIA_Weight 28 COMMAND CMD_BUT_ADD HELP HLP_BUT_ADD LABEL 'Select' button ATTRS MUIA_Weight 28 COMMAND CMD_BUT_LOD1 HELP HLP_BUT_LOD LABEL 'Load...' button ATTRS MUIA_Weight 28 COMMAND CMD_BUT_CLR1 HELP HLP_BUT_CLR LABEL 'Clear' string ATTRS MUIA_Weight 16 ID STR_PATT HELP HLP_STR_PATT button ATTRS MUIA_Weight 0 COMMAND CMD_BUT_PLUS HELP HLP_BUT_PLUS LABEL '+' button ATTRS MUIA_Weight 0 COMMAND CMD_BUT_MINUS HELP HLP_BUT_MINUS LABEL '-' /* button ATTRS MUIA_Weight 0 COMMAND CMD_BUT_TEST HELP HLP_BUT_TEST LABEL 'Test' */ endgroup endgroup object CLASS '"Busy.mcc"' ID CLS_BUSY ATTRS MUIA_VertWeight 0 MUIA_Busy_Speed MUIV_Busy_Speed_Off object CLASS '"Balance.mui"' group ATTRS MUIA_VertWeight 30 FRAME LABEL '"Selected Files"' list ID LST_SEL COMMAND CMD_BUT_DEL HELP HLP_LST_SEL TITLE TLE_LST_SEL ATTRS MUIA_List_Format '"MIW=24 BAR, MIW=5 BAR, MIW=1 P=\033r BAR, MIW=70"' group HORIZ group HORIZ FRAME button COMMAND CMD_BUT_SAV HELP HLP_BUT_SAV LABEL 'Save...' label '"as"' cycle ID CYC_BAT HELP HLP_CYC_BAT LABELS '"'cycletext'"' endgroup group HORIZ FRAME button COMMAND CMD_BUT_LOD2 HELP HLP_BUT_LOD LABEL 'Load...' button COMMAND CMD_BUT_CLR2 HELP HLP_BUT_CLR LABEL 'Clear' endgroup endgroup endgroup endwindow /* Startup code after opening window */ IF recentfile ~= '' THEN DO call RecentScriptCmd portname LOAD LST_ALL '['recentfile']' END call RecentScriptCmd portname LOAD LST_SEL '['srcdir'RecentScript.lst]' exit